package com.css.zfzx.fwsjcj.modules.analysis.service;

import com.css.zfzx.fwsjcj.modules.analysis.vo.AnalysisQueryVo;

import java.util.List;
import java.util.Map;

/**
 * @author leon
 * @Title: AnalysisService
 * @Description: 普查统计分析
 * @date 2020/6/9 11:05
 */
public interface AnalysisService {
    /**
     * 柱状图-栋数
     */
    Map<String, Object> buildingNumData(AnalysisQueryVo analysisQueryVo);

    /**
     * 柱状图-面积
     */
    Map<String, Object> buildingAreaData(AnalysisQueryVo analysisQueryVo);


    /**
     * 城市饼状图-结构类型-栋数
     */
    List<Map> buildingCityNumDataByStructureType(AnalysisQueryVo analysisQueryVo);

    /**
     * 农村饼状图-结构类型-栋数
     */
    List<Map> buildingVillageNumDataByStructureType(AnalysisQueryVo analysisQueryVo);

    /**
     * 城市饼状图-结构类型-面积
     */
    List<Map> buildingCityAreaDataByStructureType(AnalysisQueryVo analysisQueryVo);

    /**
     * 城市饼状图-结构类型-面积
     */
    List<Map> buildingVillageAreaDataByStructureType(AnalysisQueryVo analysisQueryVo);


    /**
     * 饼状图-建造年代-栋数
     */
    List<Map> buildingNumDataByBuildingTime(AnalysisQueryVo analysisQueryVo);

    /**
     * 饼状图-建造年代-面积
     */
    List<Map> buildingAreaDataByBuildingTime(AnalysisQueryVo analysisQueryVo);


    /**
     * 饼状图-设防烈度-栋数
     */
    List<Map> buildingNumDataByFortificationIntensity(AnalysisQueryVo analysisQueryVo);

    /**
     * 饼状图-设防烈度-面积
     */
    List<Map> buildingAreaDataByFortificationIntensity(AnalysisQueryVo analysisQueryVo);


    /**
     * 饼状图-（结论）情况统计-栋数
     */
    List<Map> buildingNumDataByResult(AnalysisQueryVo analysisQueryVo);

    /**
     * 饼状图-（结论）情况统计-面积
     */
    List<Map> buildingAreaDataByResult(AnalysisQueryVo analysisQueryVo);


    /**
     * 饼状图-房屋使用情况-栋数
     */
    List<Map> buildingNumDataByHouseUseSituation(AnalysisQueryVo analysisQueryVo);

    /**
     * 饼状图-房屋使用情况-面积
     */
    List<Map> buildingAreaDataByHouseUseSituation(AnalysisQueryVo analysisQueryVo);


    /**
     * 饼状图-居住房屋抗震构造措施-栋数
     */
    List<Map> buildingNumDataByHouseMeasures(AnalysisQueryVo analysisQueryVo);

    /**
     * 饼状图-居住房屋抗震构造措施-面积
     */
    List<Map> buildingAreaDataByHouseMeasures(AnalysisQueryVo analysisQueryVo);


    /**
     * 饼状图-居住房屋有无明显可见的裂缝、变形、倾斜等-栋数
     */
    List<Map> buildingNumDataByBuildingIsDamage(AnalysisQueryVo analysisQueryVo);

    /**
     * 饼状图-居住房屋有无明显可见的裂缝、变形、倾斜等-面积
     */
    List<Map> buildingAreaDataByBuildingIsDamage(AnalysisQueryVo analysisQueryVo);

}
